package com.example.project.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.example.project.core.text.Convert;
import com.example.project.entity.IssueStatus;
import com.example.project.mapper.IssueStatusMapper;
import com.example.project.service.IssueStatusService;
import com.example.project.utils.CacheUtils;

/**
 * 问题状态，定义问题的可能状态Service业务层处理
 * 
 * @author ruoyi
 * @date 2025-09-19
 */
@Service
public class IssueStatusServiceImpl implements IssueStatusService {
	
	@Autowired
	private IssueStatusMapper issueStatusesMapper;

	/**
	 * 查询问题状态，定义问题的可能状态
	 * 
	 * @param id 问题状态，定义问题的可能状态主键
	 * @return 问题状态，定义问题的可能状态
	 */
	@Override
	public IssueStatus selectIssueStatusById(Long id) {
		return issueStatusesMapper.selectIssueStatusById(id);
	}

	/**
	 * 查询问题状态，定义问题的可能状态列表
	 * 
	 * @param tIssueStatus 问题状态，定义问题的可能状态
	 * @return 问题状态，定义问题的可能状态
	 */
	@Override
	public List<IssueStatus> selectIssueStatusList(IssueStatus tIssueStatus) {
		return issueStatusesMapper.selectIssueStatusList(tIssueStatus);
	}

	/**
	 * 新增问题状态，定义问题的可能状态
	 * 
	 * @param tIssueStatus 问题状态，定义问题的可能状态
	 * @return 结果
	 */
	@Override
	public int insertIssueStatus(IssueStatus tIssueStatus) {
		CacheUtils.remove("issueStatusList");
		return issueStatusesMapper.insertIssueStatus(tIssueStatus);
	}

	/**
	 * 修改问题状态，定义问题的可能状态
	 * 
	 * @param tIssueStatus 问题状态，定义问题的可能状态
	 * @return 结果
	 */
	@Override
	public int updateIssueStatus(IssueStatus tIssueStatus) {
		CacheUtils.remove("issueStatusList");
		return issueStatusesMapper.updateIssueStatus(tIssueStatus);
	}

	/**
	 * 批量删除问题状态，定义问题的可能状态
	 * 
	 * @param ids 需要删除的问题状态，定义问题的可能状态主键
	 * @return 结果
	 */
	@Override
	public int deleteIssueStatusByIds(String ids) {
		CacheUtils.remove("issueStatusList");
		return issueStatusesMapper.deleteIssueStatusByIds(Convert.toStrArray(ids));
	}

	/**
	 * 删除问题状态，定义问题的可能状态信息
	 * 
	 * @param id 问题状态，定义问题的可能状态主键
	 * @return 结果
	 */
	@Override
	public int deleteIssueStatusById(Long id) {
		CacheUtils.remove("issueStatusList");
		return issueStatusesMapper.deleteIssueStatusById(id);
	}

	@Override
	public List<IssueStatus> findAllList() {
		// TODO Auto-generated method stub
		return issueStatusesMapper.selectIssueStatusAll();
	}
}
